package com.kingyun.gpsinspection.purificationservice.facade.service.tdm;

import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EmployeeVo;
import com.kingyun.gpsinspection.purificationservice.facade.model.tdm.ProductionPlan;
import com.kingyun.gpsinspection.purificationservice.facade.model.tdm.ProductionPlanVo;

import java.util.List;
import java.util.Map;

/**
 * Created by liyi on 2016/11/18.
 *  生产计划Service
 */
public interface ProductionPlanService {
    /**
     * 查看生产计划列表信息
     *
     * @param employeeVo
     * @param productionPlan 生产计划信息
     * @return
     * @throws Exception
     */
    Map<String, Object> list(EmployeeVo employeeVo, ProductionPlanVo productionPlan)throws Exception;

    /**
     * 根据生产计划ID查询生产计划信息
     * @param planId 生产计划ID
     * @return
     * @throws Exception
     */
    ProductionPlanVo findProductionPlanById(String planId)throws Exception;

    /**
     * 查看所有生产计划信息
     * @return
     * @throws Exception
     */
    List<ProductionPlan> queryAll()throws Exception;

    /**
     * 新增生产计划信息
     *
     * @param employeeVo
     * @param productionPlan 产计划信息
     * @param uploadFiles 上传附件
     * @param deletedFiles 删除附件
     * @return
     */
    int save(EmployeeVo employeeVo, ProductionPlan productionPlan, String uploadFiles, String deletedFiles);

    /**
     * 修改生产计划信息
     * @param employeeVo
     * @param productionPlan 产计划信息
     * @param uploadFiles 上传附件
     * @param deletedFiles 删除附件
     * @return
     */
    int update(EmployeeVo employeeVo, ProductionPlan productionPlan, String uploadFiles, String deletedFiles);

    /**
     * 删除信息
     * @param list 生产计划集合
     * @return
     * @throws Exception
     */
    int delByIds(List<String> list)  throws Exception;
}
